package com.gongzhiyun.springboot3test.service;

import com.gongzhiyun.springboot3test.base.PageBean;
import com.gongzhiyun.springboot3test.base.R;
import com.gongzhiyun.springboot3test.entity.user.TbUser;
import com.gongzhiyun.springboot3test.entity.user.TbUserExinfo;
import com.gongzhiyun.springboot3test.entity.user.TbUserPrivate;
import com.gongzhiyun.springboot3test.vo.*;

import java.util.List;

public interface UserService {
    //默认角色
    public Integer role=2;

    R<String> updateLogo(String logo);

    String logoByUid(Integer uid);

    TbUser queryByName(String username);

    R<UserInfo> queryById(Integer uid);

    R<String> privates(TbUserPrivate tbUserPrivate);

    R<List<TbUserPrivate>> queryPrivates(TbUserPrivate userPrivate, PageBean pageBean);

    R<String> delPrivates(Integer id);

    UserInfo queryByIdAll(Integer uid);

    R<String> reg(UserParams user);

    R<UserInfo> login(UserParams params);

    R<String> logout();

    R<String> updatePwd(ParamsPwd pwd);

    R<String> updateInfo(ParamsInfo info);

    R<UserInfo> getLoginInfo();

    R<String> isDelUser(ParamsDel paramsDel);

    R<String> concern(Integer id);

    R<List<UserInfo>> queryFollow(Integer uid, PageBean pageBean);

    TbUserExinfo IsFollow(Integer uid, Integer id);

    R<List<UserInfo>> queryFollowed(Integer uid, PageBean pageBean);

    boolean checkAuth();
}
